//负责mysql的缓存
let md5 = require('md5');
let cache_data = {}; //缓存数据
//定时清理缓存
loop();

//获取缓存
exports.get=(sql,table)=>{
    if(!cache_data[table[0]]){return false}
    //不拷贝下会造成缓存泄露，但会照成一定的性能损失
    let data = JSON.stringify(cache_data[table[0]][md5(sql)]);
    if(!data)return
    return JSON.parse(data);
}

//添加缓存
exports.set=(tab,sql,data)=>{
    if(!cache_data[tab[0]]){cache_data[tab[0]]={}}
    cache_data[tab[0]][md5(sql)]=data;
}

//删除缓存
exports.delete=(table)=>{
    cache_data[table[0]]={};
}   

//设置表
exports.setTable=(table)=>{
    cache_data[table]={};
}

//定时清理缓存
function loop(){
    //一小时清理一次缓存
    setInterval(()=>{
        for(let a in cache_data){
            cache_data[a]={};
        }
    },1000*60*60)
}